﻿Imports Microsoft.VisualBasic
Imports System
Imports System.Data
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports DevExpress.Web.ASPxUploadControl
Imports BusinessLogic
Imports BusinessEntity

Partial Class Pages_Controls_ctlEvaluarFichaAdmision
    Inherits System.Web.UI.UserControl
    Private Estado As Integer
    Private FichaIncripcionID As String

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'If Not IsPostBack Then

        'End If
    End Sub

    Protected Sub callbackPanel_Callback(ByVal source As Object, ByVal e As DevExpress.Web.ASPxClasses.CallbackEventArgsBase)
        If e.Parameter <> "" Then
            hdnFichaIncripcionID.value = e.Parameter
            CargaCuadroEvaluacion()
        End If
    End Sub

    Private Sub CargaCuadroEvaluacion()
        Dim objFichaInscripcion As New BusinessLogic.crFichaInscripcion
        Dim dsFicha As New BusinessEntity.CCFichaInscripcion
        'Dim dtResponsable As DataTable
        Dim intFichaIncripcionID, intAproba, intEvalua, intRevisa As Integer

        hdnMensaje.value = ""
        intFichaIncripcionID = hdnFichaIncripcionID.Value
        dsFicha = objFichaInscripcion.GetDatosFichaIncripcion(intFichaIncripcionID)
        txtCodigo.Text = dsFicha.TB_SOC_ESI_Ficha_Inscripcion_ID

        intAproba = dsFicha.Aprobacion
        intEvalua = dsFicha.Evaluacion
        intRevisa = dsFicha.Revisado
        txtResponsable.Text = Session("UserName")
        hdnResponsable.Value = 2
        'dtResponsable = objFichaInscripcion.GetResponsable().Tables(0)
        'cboResponsable.DataSource = dtResponsable
        'cboResponsable.ValueField = dtResponsable.Columns(0).ColumnName
        'cboResponsable.TextField = dtResponsable.Columns(1).ColumnName
        'cboResponsable.DataBind()
        'cboResponsable.Items.Insert(0, New DevExpress.Web.ASPxEditors.ListEditItem("Seleccionar Responsable", "0"))
        'cboResponsable.SelectedIndex = -1

        txtFecha.Text = FormatDateTime(Now(), DateFormat.ShortDate)
        txtObservacion.Text = ""
        chkProcede.Checked = False
        btnGrabar.Enabled = True
        If intAproba = 1 Then
            Estado = 0
            popup.HeaderText = "Proceso Aprobación"
            lblFecha.Text = "Fecha Aprobación"
            txtFecha.Text = IIf(IsDBNull(dsFicha.fechaAprobacion), FormatDateTime(Now(), DateFormat.ShortDate), Left(dsFicha.fechaAprobacion, 10))
            'cboResponsable.SelectedIndex = dsFicha.usuarioAprobador - 1
            txtObservacion.Text = IIf(IsDBNull(dsFicha.observacionAprobacion), "", CStr(dsFicha.observacionAprobacion))
            chkProcede.Checked = True
            chkProcede.Enabled = False
            btnGrabar.Enabled = False
        ElseIf intEvalua = 1 Then
            Estado = 3
            popup.HeaderText = "Proceso Aprobación"
            lblFecha.Text = "Fecha Aprobación"
        ElseIf intRevisa = 1 Then
            Estado = 2
            popup.HeaderText = "Proceso Evaluación"
            lblFecha.Text = "Fecha Evaluación"
        Else
            Estado = 1
            popup.HeaderText = "Proceso Revisión"
            lblFecha.Text = "Fecha Revisión"
        End If
        hdnEstado.Value = Estado
    End Sub

    Protected Sub btnGrabar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGrabar.Click
        Dim objFichaInscripcion As New BusinessLogic.crFichaInscripcion
        Dim ds As New BusinessEntity.CCFichaInscripcion
        Dim intFichaIncripcionID As Integer
        Dim estado As Integer
        estado = hdnEstado.Value
        Try
            lblMensaje.ForeColor = Drawing.Color.Black
            hdnMensaje.value = ""
            If chkProcede.Checked = False Then
                lblMensaje.ForeColor = Drawing.Color.Red
                hdnMensaje.value = "No marcó el campo Procede"
                Return
            Else
                intFichaIncripcionID = hdnFichaIncripcionID.Value
                ds.TB_SOC_ESI_Ficha_Inscripcion_ID = intFichaIncripcionID
                Select Case estado
                    Case 1
                        Try
                            ds.fechaRevision = txtFecha.Text
                            ds.usuarioRevisor = hdnResponsable.Value
                            ds.observacionRevision = txtObservacion.Text
                            If objFichaInscripcion.GrabarEvaluacion(1, ds) = True Then
                                hdnMensaje.value = "Ficha REVISADA correctamente"
                            Else
                                lblMensaje.ForeColor = Drawing.Color.Red
                                hdnMensaje.value = "Error al Grabar la Ficha"
                            End If
                        Catch ex As Exception
                            lblMensaje.ForeColor = Drawing.Color.Red
                            hdnMensaje.value = ex.Message
                        End Try
                    Case 2
                        ds.fechaEvaluacion = txtFecha.Text
                        ds.usuarioEvaluador = hdnResponsable.Value
                        ds.observacionEvaluacion = txtObservacion.Text
                        If objFichaInscripcion.GrabarEvaluacion(2, ds) = True Then
                            hdnMensaje.value = "Ficha EVALUADA correctamente"
                        Else
                            lblMensaje.ForeColor = Drawing.Color.Red
                            hdnMensaje.value = "Ficha EVALUADA correctamente"
                        End If
                    Case 3
                        ds.fechaAprobacion = txtFecha.Text
                        ds.usuarioAprobador = hdnResponsable.Value
                        If objFichaInscripcion.GrabarEvaluacion(3, ds) = True Then
                            hdnMensaje.value = "Ficha APROBADA correctamente"
                        Else
                            lblMensaje.ForeColor = Drawing.Color.Red
                            hdnMensaje.value = "Ficha REVISADA correctamente"
                        End If
                End Select
            End If
        Catch ex As Exception
            lblMensaje.ForeColor = Drawing.Color.Red
            hdnMensaje.value = ex.Message
        End Try
        Response.Redirect("~/Pages/frmEvaluarFichaAdmision.aspx")
    End Sub

    'Protected Sub cboResponsable_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboResponsable.SelectedIndexChanged
    '    hdnResponsable.Value = cboResponsable.SelectedIndex + 2
    'End Sub
End Class
